package com.internetCafes.spms.web.customer.common.component.msg;

import com.internetCafes.spms.web.customer.entity.customer.Customer;
import com.internetCafes.spms.web.customer.entity.user.EntUserInfo;

import java.util.List;

/**
 * 消息通知消息模块接口
 */
public interface IMsgComponent {

    /**
     * 转意向
     *
     * @param customer   客户信息
     * @param targetUser 目标人员
     */
    void customerToInterest(Customer customer, EntUserInfo targetUser);

    /**
     * 转成交
     *
     * @param customer   客户信息
     * @param targetUser 目标人员
     */
    void customerToDeal(Customer customer, EntUserInfo targetUser);

    /**
     * 客户移除消息通知
     *
     * @param customer 客户信息
     */
    void customerRemove(Customer customer);

    /**
     * 客户批量删除消息创建
     *
     * @param customerList 客户列表
     */
    void customerDelete(List<Customer> customerList);

    /**
     * 客户转让
     *
     * @param customerList 客户原数据列表
     * @param targetUser   转让给用户
     * @param remark       备注
     */
    void customerTransfer(List<Customer> customerList, EntUserInfo targetUser, String remark);

    /**
     * 客户信息新增请求
     *
     * @param customerDo 新增客户信息
     * @param menuName   菜单名称
     */
    void customerSave(Customer customerDo, String menuName);

    /**
     * 客户信息新增请求
     *
     * @param customerList 新增客户信息
     * @param menuName     菜单名称
     */
    void customerBatchSave(List<Customer> customerList, String menuName);
}
